/*
 * Copyright 2011 Witoslaw Koczewsi <wi@koczewski.de>, Artjom Kochtchi
 * 
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public
 * License as published by the Free Software Foundation, either version 3 of the License, or (at your option)
 * any later version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
 * for more details.
 * 
 * You should have received a copy of the GNU General Public License along with this program. If not, see
 * <http://www.gnu.org/licenses/>.
 */
package scrum.client.collaboration;

import ilarkesto.gwt.client.TableBuilder;

import java.util.Map;

import scrum.client.ScrumGwt;
import scrum.client.project.Project;

import com.google.gwt.user.client.ui.Widget;

public class Subject extends GSubject implements ForumSupport {

	public static final String REFERENCE_PREFIX = "sbj";

	public Subject(Project project) {
		setProject(project);
	}

	public Subject(Map data) {
		super(data);
	}

	@Override
	public String getReference() {
		return REFERENCE_PREFIX + getNumber();
	}

	@Override
	public String toHtml() {
		return ScrumGwt.toHtml(this, getLabel());
	}

	@Override
	public Widget createForumItemWidget() {
		TableBuilder tb = ScrumGwt.createFieldTable();
		tb.addFieldRow("Title", getLabelModel());
		tb.addFieldRow("Notes", getTextModel());
		return tb.createTable();
	}

	@Override
	public String toString() {
		return getReference() + " " + getLabel();
	}

}